package stony.rl2Feathers.robotlegs 
{
	//
	import g2dto3d.service.StorageService;
	import robotlegs.bender.extensions.contextView.ContextView;
	import robotlegs.bender.extensions.eventCommandMap.api.IEventCommandMap;
	import robotlegs.bender.extensions.mediatorMap.api.IMediatorMap;
	import robotlegs.bender.framework.api.IConfig;
	import robotlegs.bender.framework.api.IContext;
	import robotlegs.bender.framework.api.IInjector;
	//
	/**
	 * ...
	 * @author 
	 */
	//
	public class Config implements IConfig
	{
		[Inject]
        public var context:IContext;
		
		[Inject]
		public var injector:IInjector;

		[Inject]
		public var mediatorMap:IMediatorMap;

		[Inject]
		public var commandMap:IEventCommandMap;

		[Inject]
		public var contextView:ContextView;
		
		public function configure():void 
		{
			// MODEL / SERVICE
			// мапим модель. в принципе она у нас обычно одна
			//injector.map(UserModel).asSingleton();
			// сервисы это та же синглтонная модель, только она не хранит данные , а загружает их
			//injector.map(LoaderService).asSingleton();
			
			// MEDIATOR
			// мапим интерфэйсы наших вьюшек к их медиаторам
			//mediatorMap.map( IView ).toMediator( ViewMediator );
						
			// COMMAND
			// мапим события от медиатора к контроллеру
			
			commandMap.map(GlobalEvent.OPEN_PROJECT).toCommand(GlobalController);
			
			//contextView.view.addChild(ViewFactory.create('RootView') as Sprite);
		}
	}
}